# from django.conf.urls import url
from django.urls import path, re_path
from rest_framework.routers import DefaultRouter

from . import views
from rest_framework_jwt.views import obtain_jwt_token

urlpatterns = [
    # 用户注册--用户名验证--用户名是否存在
    re_path(r'^usernames/(?P<username>\w{5,20})/count/$', views.UsernameCountView.as_view()),
    # 用户注册--手机号验证--手机号是否存在
    re_path(r'^mobiles/(?P<mobile>1[3-9]\d{9})/count/$', views.MobileCountView.as_view()),
    # 可用的手机号：18867455862 （尾数1-9）
    # 在前端register.js中：axios.get(this.host + '/sms_codes/' + this.mobile + '/', 向后台发起访问
    re_path(r'^sms_codes/(?P<mobile>1[3-9]\d{9})/$', views.SMSCodeView.as_view()),  # 用户注册--验证码发送
    path('users/', views.UserView.as_view()),  # 用户注册--新建用户并自动登录
    path('authorizations/', obtain_jwt_token),  # 用户登录--登录验证（用户名或手机号登录）
    path('user/', views.UserDetailView.as_view()),  # 用户中心--个人信息查看
    path('email/', views.EmailView.as_view()),  # 个人信息--设置邮箱--保存(会立即发送一条邮箱认证)--发送邮箱认证
    # 个人信息--发送邮箱认证--在邮箱客户端点击链接--认证界面点击返回主页--index主界面
    path('emails/verification/', views.VerifyEmailView.as_view()),
    path('password/', views.PassWordView.as_view()),  # 个人信息--修改密码--成功后重新回到登录界面
    # histories: [] // 记录用户浏览数据
    path('browse_histories/', views.BrowseView.as_view()),  # 用户浏览历史记录
]

# 指定行政区域视图集(视图用DRF中自带的路由系统来注册视图集)
router = DefaultRouter()
# 3个参数：prefix, viewset, basename=None
router.register(r'areas', views.AreasViewSet, basename='areas')
# urlpatterns = []
urlpatterns += router.urls

router = DefaultRouter()
router.register(r'addresses', views.AddressViewSet, basename='addresses')
urlpatterns += router.urls

# POST /addresses/ 新建  -> create
# PUT /addresses/<pk>/ 修改  -> update
# GET /addresses/  查询  -> list
# DELETE /addresses/<pk>/  删除 -> destroy
# PUT /addresses/<pk>/status/ 设置默认 -> status
# PUT /addresses/<pk>/title/  设置标题 -> title
